package classes;


/**
 * Classe login que sera usada no sistema para a permissao de um usuario se conectar a esse sistema.
 * @author equipe
 *
 */

public class Login {
	
	private String nome;
	
	private String senha;
	
	/**
	 * Contrutor da classe Login que recebe os seguintes parametros:
	 * @param nome
	 * 		Nome do usuario.
	 * @param senha
	 * 		Senha do usuario.
	 * @throws
	 * 		Excecao lancada quando o nome ou a senha forem invalidos.
	 */
	
	public Login(String nome, String senha)throws Exception{
		if(nome == null || nome.equals("")){
			throw new Exception("Nome Invalido");
		}
		if(senha == null || senha.equals("")){
			throw new Exception("Senha Invalida");
		}
		this.nome = nome;
		this.senha = senha;
		
	}

	/**
	 * Metodo capaz de acessar o nome do usuario.
	 * @return
	 * 		Nome do usuario.
	 */
	public String getNome() {
		return nome;
	}
	
	/**
	 * Metodo capaz de modificar o nome do usuario.
	 * @param nome
	 * 		Nome do usuario.
	 */

	public void setNome(String nome)throws Exception {
		if(nome == null || nome.equals("")){
			throw new Exception("Nome Invalido");
		}
		this.nome = nome;
	}
	
	/**
	 * Metodo capaz de acessar a senha do usuario.
	 * @return
	 * 		Senha do usuario.
	 */

	public String getSenha() {
		return senha;
	}

	/**
	 * Metodo capaz de modificar a senha do usuario.
	 * @param senha
	 * 		Senha do usuario.
	 */
	public void setSenha(String senha)throws Exception {
		if(senha.equals("") || senha == null){
			throw new Exception("Senha Invalida");
		}
		this.senha = senha;
	}
	
	public static Professor autentica(String login, String senha){
    	for (Professor professor : Biblioteca.listaDeProfessores) {
			if (professor.getLogin(professor).getNome().equals(login) && professor.getLogin(professor).getSenha().equals(senha)) {
				return professor;
			}
		}
		return null;
		
	}
	

}